package sql.dml.selecao.tabela;

import sql.ddl.Tabela;
import sql.dml.selecao.coluna.ListaOQue;

public class TabelaSelecao extends Onde {
	ListaOQue colunas = null;

	Tabela tabela = null;

	String alias = null;

	public TabelaSelecao(Tabela tabela) {
		this.tabela = tabela;
	}

	public TabelaSelecao(Tabela tabela, ListaOQue colunas) {
		this(tabela);
		this.colunas = colunas;
	}

	public TabelaSelecao(Tabela tabela, ListaOQue colunas, String alias) {
		this(tabela, colunas);
		this.alias = alias;
	}

	public String getAlias() {
		return alias == null ? tabela.getNome() : alias;
	}

	public String codigoSQL() {
		return tabela.getALLName() + sufix();
	}

	private String sufix() {
		return alias == null ? NONVALUE : SPACE + AS + SPACE + alias;
	}

	public ListaOQue getColunas() {
		return colunas;
	}

	public void setAlias(String alias) {
		this.alias = alias;
	}

}
